Skip to main content

SCI Server 를 Ubuntu에 설치

1. 개요

  • 본 문서는 SCI Server 를 Ubuntu 에서 설치하는 과정 표준 가이드입니다.
  • 문서보안 솔루션을 이용하기 위해서는 SCI Server 와 문서보안 DB가 구성되어야 합니다.

2. SCI_Server 설치를 위한 필요환경 준비

필요 환경

  • OS : ubuntu
  • DB : MariaDB
  • SCI 서버 설치 파일
  • DB 구성 스크립트
  • 방화벽 포트 오픈

3. 사전 작업

가. OS 사용자 계정생성

  • OS의 계정명은 임의로 생성하여도 무관
  • root 계정으로 접속하여 진행
useradd softcamp
passwd softcamp

New password : [임의PW입력]
Retype new password : [임의PW입력]

나. 생성한 계정의 디렉토리 생성

mkdir -p /home/softcamp

다. OS사용자 계정 bash 쉘 등록

vi /etc/passwd
softcamp:x:1001:1001::/home/softcamp:/bin > softcamp:x:1001:1001::/home/softcamp:/bin/bash 수정

라. JRE 패키지 설치

apt update
apt install -y openjdk-11-jre

마. MariaDB 설치

폐쇄망의 경우
  1. 사전 설치 요청을 한다.
  2. 바이너리로 MariaDB를 가지고 가서 설치 한다.
    바이너리로 MariaDB 설치 참고 링크
 apt install -y mariadb-server 

systemctl start mariadb
systemctl enable mariadb

사. SCI_Server 설치파일 업로드

  • 설치파일을 FTP 를 이용하여 /home/사용자계정/아래의 경로에 업로드

아. MariaDB의 환경설정

  • vi 편집기로 MariaDB 환경설정 파일을 오픈
vi /etc/mysql/mariadb.conf.d/50-server.cnf
  • 아래의 설정을 추가 후 저장
파일별 맞는 [항목]의 값들을 넣어주세요

기존에 [항목] 이 있는데 하위에 넣으면 상위의 값만 사용이 됩니다.
각 파일에 맞는 항목을 [mysql], [mysqld]등의 항목에 맞는 값을 넣어주세요.
자동 설치를 통해 설치한 경우 50-server.cnf, 50-client.cnf파일로 사용하시면 됩니다.

  • 아래의 설정을 각 항목에 추가, 고객사 환경에 맞는 값으로 기록해야 하는 항목 맨 하단에 있음.
[mysql]
# CLI 클라이언트에서 자동 완성 기능 비활성화
no-auto-rehash

[mysqld_safe]
# 동시에 열 수 있는 파일의 최대 개수 설정
open-files-limit = 65535

[mysqld]
#초기값 : bind-address = 127.0.0.1 에서 수정
bind-address = 0.0.0.0

#초기값 : character-set-server = utf8 에서 수정
character-set-server = utf8mb4

#초기값 : collation-server=utf8_general_ci 에서 수정
collation-server=utf8mb4_general_ci

#초기값 : expire_logs_days = 10 에서 수정
expire_logs_days = 3

# 호스트명 확인 과정 생략으로 접속 속도 향상
skip-name-resolve

# 테이블명을 소문자로 저장하고 대소문자 구분 없이 처리
lower_case_table_names = 1

# 새로운 연결이 생성될 때마다 문자셋을 UTF-8로 설정
init_connect = SET NAMES utf8
# 새로운 연결의 문자열 정렬 규칙 설정
init_connect = SET collation_connection = utf8mb4_general_ci

# === 로그 설정 ===
# 경고 메시지 로깅 활성화
log_warnings = 1
# 바이너리 로그 형식을 ROW 형식으로 설정 (상세한 변경 내용 기록)
binlog_format = ROW
# 바이너리 로그를 디스크에 즉시 동기화
sync_binlog = 1
# 바이너리 로그 캐시 크기 설정
binlog_cache_size = 1M
# 복제 환경에서 함수 생성 허용
log_bin_trust_function_creators = 1

# 일반 쿼리 로그 설정
log-output = FILE
general_log = OFF

# 슬로우 쿼리 로그 설정
slow_query_log = ON
# 3초 이상 걸리는 쿼리를 슬로우 쿼리로 기록
long_query_time = 3

# === 연결 및 스레드 설정 ===
# 최대 동시 접속자 수
max_connections = 1000
# 최대 접속 에러 수
max_connect_errors = 100
# 대기 큐 크기
back_log = 100
# 스레드 캐시 크기
thread_cache_size = 1000
# 미사용 연결 타임아웃 (초)
wait_timeout = 3600
interactive-timeout = 3600

# === 쿼리 캐시 설정 ===
# 쿼리 캐시 비활성화 (성능 향상을 위해)
query_cache_size = 0M
query_cache_type = 0
query_cache_limit = 0M

# === 메모리 테이블 설정 ===
# 메모리 테이블의 최대 크기
max_heap_table_size = 32M
# 임시 테이블의 최대 크기
tmp_table_size = 32M
# 패킷의 최대 크기
max_allowed_packet = 1024M

# === 버퍼 설정 ===
# 인덱스 읽기 버퍼 크기
read_rnd_buffer_size = 4M
# 테이블 스캔 버퍼 크기
read_buffer_size = 2M
# 정렬 버퍼 크기
sort_buffer_size = 2M
# 조인 버퍼 크기
join_buffer_size = 2M
# 열린 테이블 캐시 크기
table_open_cache = 10000

# === 트랜잭션 설정 ===
# 트랜잭션 격리 수준 설정
transaction_isolation = READ-COMMITTED

# === 시스템 설정 ===
# DNS 조회 비활성화
skip_name_resolve = ON
# 외부 잠금 비활성화
skip_external_locking = ON
# 호스트 캐시 비활성화
skip-host-cache

# === MyISAM(스토리지 엔진) 설정 ===
# MyISAM 키 버퍼 크기
key_buffer_size = 32M
# 대량 삽입 버퍼 크기
bulk_insert_buffer_size = 64M
# MyISAM 정렬 버퍼 크기
myisam_sort_buffer_size = 128M
# MyISAM 임시 파일 최대 크기
myisam_max_sort_file_size = 10G
# MyISAM 복구 스레드 수
myisam_repair_threads = 1


# === InnoDB 설정 ===
# 기본 스토리지 엔진 설정
default-storage-engine = InnoDB
default-tmp-storage-engine = InnoDB
# 테이블별 파일 사용 (관리의 용이성)
innodb_file_per_table = 1
# InnoDB 로그 파일 크기
innodb_log_file_size = 512M
# InnoDB 로그 버퍼 크기
innodb_log_buffer_size = 32M
# 트랜잭션 커밋 시 로그 동기화 설정
innodb_flush_log_at_trx_commit = 1
# 잠금 대기 타임아웃 (초)
innodb_lock_wait_timeout = 30

# === 시스템 리소스에 따른 설정 ===
# ****** 중 요 ******
###고객사에 맞게 셋팅되어야 하는 설정###
# 물리 메모리의 50%로 설정 (예: 32GB 메모리의 경우 16GB 설정)
innodb_buffer_pool_size = 16G

# CPU 코어 수의 1/2로 설정 (예: 8코어의 경우 4 설정)
innodb_write_io_threads = 4
innodb_read_io_threads = 4

RPM으로 기본 설치시 파일들이 기본으로 설정되는 경로
# basedir = /usr
# datadir = /var/lib/mysql
# tmpdir = /tmp
# log_error = /var/log/mariadb/mariadb.log

# log_bin = /var/lib/mysql/mysql-bin
# 참고: log_bin이 활성화된 경우에만 해당 경로에 파일 생성

# general_log_file = /var/lib/mysql/hostname.log
# 참고: general_log가 활성화된 경우에만 해당 경로에 파일 생성

# slow_query_log_file = /var/lib/mysql/hostname-slow.log
# 참고: slow_query_log가 활성화된 경우에만 해당 경로에 파일 생성

# innodb_data_home_dir = /var/lib/mysql
# innodb_data_file_path = ibdata1:12M:autoextend
# innodb_log_group_home_dir = /var/lib/mysql
물리 메모리확인 방법(innodb_buffer_pool_size의 값 구하기)
  • 계산기에서 명령어로 나온값 /1024 /1024 /2 하였을때 나온 정수에 G붙여서 기입
    cat /proc/meminfo | grep MemTotal
CPU Core확인 방법(innodb_write_io_threads, innodb_read_io_threads의 값 구하기)
  • 계산기에서 명령어로 나온값 / 2 하였을때 나온 정수를 기입
  grep ^processor /proc/cpuinfo | wc -l
  • MariaDB 재시작
systemctl restart mariadb

4. SCI NullDB 구성

가.NullDB 구성을위하여 DB생성 스크립트가 있는 경로로 접속

cd /home/softcamp/SCI_Server_install/BaseDB_Script/MARIADB

나. NullDB구성 스크립트 동작

mysql -u root < 1_create_database.sql;

mysql -u root < 2_1_table_DSLOGDB.sql;

mysql -u root < 2_2_table_EXPPOLICYDB.sql;

mysql -u root < 2_3_table_FSDB.sql;

mysql -u root < 2_4_table_MOBILEDB.sql;

mysql -u root < 2_5_table_PIDB.sql;

mysql -u root < 2_6_table_SHIELDEXDB.sql;

mysql -u root < 2_7_table_TFTDB.sql;

mysql -u root < 3_1_procedure_dslogdb.sql;

mysql -u root < 3_2_procedure_exppolicydb.sql;

mysql -u root < 3_3_procedure_fsdb.sql;

mysql -u root < 3_4_procedure_mobiledb.sql;

mysql -u root < 3_5_procedure_pidb.sql;

mysql -u root < 3_6_procedure_shieldexdb.sql;

mysql -u root < 3_7_procedure_tftdb.sql;

mysql -u root < 4_data.sql;

mysql -u root < 5_1_tftdb_table.sql;

mysql -u root < 5_2_tftdb_function.sql;

mysql -u root < 5_3_tftdb_procedure.sql;

mysql -u root < 6_1_custom_policy_insert.sql;

mysql -u root < 6_2_BasicPolicy.sql;

5. SCI_Server 설치

가. SCI_Server 설치

  • softcamp(2단계에서 생성한 OS계정) 으로 진행
  • 설치파일의 경로나 설치 파일명은 실제 경로와 파일명으로 이동 및 실행

SCI Server 설치 파일이 존재하는 경로로 이동 후 설치파일 시작

cd /home/softcamp/SCI_Server_install/Linux_x64/VM

./SCI_Server_설치파일 날짜.bin
안내사항

설치파일 동작후 ENTER 입력시 Default 값으로 설정
설치 경로는 /home/softcamp로 그외 설정은 이후 SCISM 서비스 웹페이지에서 수정 가능

나. SCI_Server 권한부여 및 실행

chmod 775 /home/softcamp/SCI_Server/S99*

cd /home/softcamp/SCI_Server

./S99SCISM start

6. SCI 서버 및 데이터베이스 확인

가. SCI 웹 콘솔 접속

  • 브라우저에서 URL 접속
http://서버IP:8080 (default port)

웹 콘솔 계정 생성 (임의설정)
Manager ID : drmadmin
Manager Password : softcamp1!

나. DBMS 연결

  • 좌측 하단의 DBMS 연결 설정 부분의 값 수정
DBMS : MARIADB
URL : SCI Server IP:DB포트번호(포트번호 기본값 Mariadb:3306, MSSQL:1433)
사용자명 : drmadmin(DB접속 계정ID)
패스워드 : softcamp1!(DB접속 계정PW)
데이터베이스명 : TFTDB
  1. 설정값 수정후 [적용] 클릭
  2. [연결 테스트] 클릭
  3. '연결 테스트 성공' 알림창으로 연결여부 확인
  4. 상단의 [서버 시작] 클릭

7. 문서보안 관리자 콘솔 접속

가. 관리자콘솔 접속

관리자 콘솔 설치 후 실행

  • 서버 : 서버IP
  • 아이디 : document (변경가능)
  • 비밀번호 : security (변경가능)
  • 통신포트 : 62004 (PMS 포트)

나. 마스터키 생성

자동생성 -> 확인

관리자 콘솔까지 접속된다면 SCI Server 는 설치 완료